package cn.iocoder.yudao.module.alipay.controller.admin.infothirdaliapp.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 第三方应用信息更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InfoThirdAliAppUpdateReqVO extends InfoThirdAliAppBaseVO {

    @Schema(description = "内码", requiredMode = Schema.RequiredMode.REQUIRED, example = "6603")
    @NotNull(message = "内码不能为空")
    private Long id;

    @Schema(description = "应用私钥")
    private String appPrivateKey;

    @Schema(description = "应用公钥证书路径", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "应用公钥证书路径不能为空")
    private String appCertPath;

    @Schema(description = "支付宝公钥证书路径", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "支付宝公钥证书路径不能为空")
    private String alipayCertPath;

    @Schema(description = "支付宝根证书路径", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "支付宝根证书路径不能为空")
    private String alipayRootCertPath;

    @Schema(description = "签名类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "签名类型不能为空")
    private String singType;

    @Schema(description = "请求格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "请求格式不能为空")
    private String formatType;

    @Schema(description = "编码格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "编码格式不能为空")
    private String charsetType;

}
